<!DOCTYPE html>
My friends and I enjoy making Major tournament fantasy pools. Over the years our pools have gotten more and more involved, with us recently including skins, a quad or worse penalty, and a horse race in our 2022 PGA Championship contest.
The rules for the competition loosely follow the NCAA team competition format. Each entrant drafts a team of 6 players, then the four lowest scores count towards your end of the day score. If you’re unfortunate enough not to have four players make the cut to the weekend, you have to count an 80.
For those who have not heard of a horse race, a horse race usually occurs after the tournament round. A group usually forms to watch one large group of competitors all tee off together off the first tee. Each player completes the hole, where the highest score is eliminated. The remainder play on and this process repeats until there is a winner. Since we are not organizing the PGA Championship, we run our horse race retroactively, tracking scores from hole 1 onwards, eliminating players from the pool who have the highest score, until we reach a winner. With the exception of determining a winner, all players who have the highest score per hole are eliminated. When each of the remaining players tie for the highest score, they all continue to the next hole, until there is a single winner.
I use the ESPN developer API to collect real-time scorecard data, and present a dashboard of live results. This post is meant to walk others (my future self included) through the process of collecting, parsing and automating the data collection, then viewing the Round 1 pool results.
The API endpoint I use is: https://site.api.espn.com/apis/site/v2/sports/golf/pga/scoreboard. This endpoint does not require a key, and provides scorecard data for the current tournament event.
I find the listviewer::jsonedit() function to be helpful getting familiar with how the JSON data is structured.
url = "https://site.api.espn.com/apis/site/v2/sports/golf/pga/scoreboard"
res = GET(url)
content = jsonlite::fromJSON(content(res, "text"), simplifyVector = TRUE)
listviewer::jsonedit(content, height = "750px", width = "100%", mode = "view")
While the API is fairly general and contains much more information than we are after, hole-by-hole scores are located here: object►events►competitions►0►competitors►0►linescores►0►linescores►0►value► Additionally, we can find data on the player, hole information such as the par and distance, and each player’s starting hole.
After exploring the JSON file using the listviewer library, we can move on to restructuring our data into a tidy format for easy use. Specifically, I want to build a data frame containing the player, round, hole, par, and score.
First, I select the latest competition, which we saw above to be the PGA Championship. Then, we flatten the JSON file to a data frame. Once flattened, we have a data frame with the hole scores nested in a list named linescores. Now it may be tough to see, but out linescores list contains the round score, the hole-by-hole scores, the start hole, tee time, and other information.
# first competition in JSON
data = content$events$competitions[[1]]$competitors
data = flatten(data.frame(data), recursive = TRUE)
data %>%
select(score, athlete.displayName, linescores) %>%
print_tbl()
| score | athlete.displayName | linescores |
|---|---|---|
| -5 | Rory McIlroy | 65 , NA , 4 , 3 , 3 , 4 , 2 , 3 , 4 , 4 , 4 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 7 , 2 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 33 , NA , 2022-05-20T18:36Z |
| -4 | Will Zalatoris | 66 , NA , 3 , 3 , 3 , 4 , 3 , 4 , 4 , 4 , 5 , 4 , 4 , 3 , 4 , 5 , 4 , 3 , 3 , 3 , 6 , 2 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 32 , NA , 2022-05-20T18:25Z |
| -4 | Tom Hoge | 66 , NA , 3 , 4 , 5 , 4 , 4 , 3 , 4 , 3 , 3 , 3 , 3 , 4 , 5 , 3 , 3 , 4 , 4 , 4 , 5 , 1 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 49 , NA , 2022-05-20T19:04Z |
| -3 | Matt Kuchar | 67 , NA , 3 , 5 , 4 , 5 , 5 , 3 , 4 , 3 , 3 , 4 , 3 , 4 , 4 , 3 , 3 , 3 , 4 , 4 , 5 , 2 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 45 , NA , 2022-05-20T18:20Z |
| -3 | Abraham Ancer | 67 , NA , 4 , 5 , 3 , 4 , 4 , 3 , 3 , 3 , 4 , 3 , 4 , 4 , 5 , 3 , 3 , 5 , 3 , 4 , 6 , 3 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 47 , NA , 2022-05-20T18:42Z |
| -3 | Justin Thomas | 67 , NA , 3 , 4 , 4 , 4 , 4 , 3 , 4 , 4 , 5 , 3 , 3 , 4 , 5 , 3 , 3 , 4 , 4 , 3 , 5 , 2 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 18 , NA , 2022-05-20T12:49Z |
| -2 | Chris Kirk | 68 , NA , 4 , 4 , 4 , 4 , 5 , 2 , 4 , 3 , 3 , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 2 , 0 , 0 , 0 , 0 , 16 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 42 , NA , 2022-05-20T17:47Z |
| -2 | Mito Pereira | 68 , NA , 4 , 4 , 4 , 5 , 5 , 2 , 4 , 3 , 4 , 4 , 3 , 5 , 4 , 2 , 4 , 4 , 3 , 4 , 4 , 2 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 43 , NA , 2022-05-20T17:58Z |
| -2 | Xander Schauffele | 68 , NA , 3 , 3 , 4 , 4 , 4 , 3 , 4 , 4 , 5 , 4 , 4 , 4 , 4 , 5 , 2 , 4 , 3 , 4 , 4 , 2 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 30 , NA , 2022-05-20T18:03Z |
| -2 | Cameron Smith | 68 , NA , 4 , 2 , 6 , 4 , 3 , 4 , 5 , 5 , 4 , 3 , 3 , 3 , 4 , 4 , 3 , 3 , 4 , 4 , 7 , 3 , 0 , 1 , 0 , 7 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 32 , NA , 2022-05-20T18:25Z |
| -2 | Kevin Na | 68 , NA , 4 , 3 , 4 , 4 , 3 , 4 , 5 , 4 , 4 , 3 , 5 , 3 , 5 , 4 , 3 , 4 , 3 , 3 , 5 , 3 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 35 , NA , 2022-05-20T18:58Z |
| -2 | Davis Riley | 68 , NA , 4 , 3 , 3 , 4 , 3 , 3 , 4 , 4 , 5 , 5 , 4 , 4 , 4 , 4 , 4 , 3 , 3 , 4 , 5 , 3 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 36 , NA , 2022-05-20T19:09Z |
| -2 | Matt Fitzpatrick | 68 , NA , 3 , 3 , 5 , 4 , 5 , 2 , 5 , 3 , 4 , 4 , 2 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 2 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 23 , NA , 2022-05-20T13:44Z |
| -2 | Lucas Herbert | 68 , NA , 3 , 3 , 4 , 4 , 2 , 5 , 4 , 4 , 4 , 3 , 5 , 3 , 4 , 4 , 4 , 4 , 3 , 5 , 6 , 4 , 0 , 0 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 11 , NA , 2022-05-20T13:50Z |
| -2 | Joaquin Niemann | 68 , NA , 4 , 5 , 4 , 4 , 5 , 3 , 3 , 4 , 3 , 3 , 3 , 4 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 2 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 24 , NA , 2022-05-20T13:55Z |
| -1 | Dean Burmester | 69 , NA , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 3 , 4 , 4 , 2 , 4 , 4 , 3 , 4 , 4 , 5 , 5 , 3 , 2 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 42 , NA , 2022-05-20T17:47Z |
| -1 | Tony Finau | 69 , NA , 5 , 3 , 4 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 2 , 1 , 0 , 0 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 30 , NA , 2022-05-20T18:03Z |
| -1 | Stewart Cink | 69 , NA , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 3 , 4 , 3 , 5 , 4 , 2 , 5 , 4 , 4 , 4 , 3 , 2 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 46 , NA , 2022-05-20T18:31Z |
| -1 | Thomas Pieters | 69 , NA , 3 , 4 , 4 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 2 , 3 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 3 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 47 , NA , 2022-05-20T18:42Z |
| -1 | Patrick Reed | 69 , NA , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 3 , 5 , 3 , 4 , 5 , 3 , 4 , 3 , 4 , 2 , 1 , 0 , 0 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 34 , NA , 2022-05-20T18:47Z |
| -1 | Beau Hossler | 69 , NA , 4 , 5 , 4 , 4 , 5 , 4 , 3 , 3 , 4 , 3 , 3 , 4 , 5 , 2 , 4 , 4 , 4 , 4 , 3 , 2 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 49 , NA , 2022-05-20T19:04Z |
| -1 | Talor Gooch | 69 , NA , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 5 , 4 , 3 , 4 , 4 , 4 , 4 , 3 , 5 , 3 , 3 , 3 , 2 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 1 , NA , 2022-05-20T12:00Z |
| -1 | K.H. Lee | 69 , NA , 5 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 3 , 3 , 5 , 4 , 4 , 4 , 3 , 4 , 3 , 4 , 3 , 2 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 2 , NA , 2022-05-20T12:11Z |
| -1 | Webb Simpson | 69 , NA , 4 , 4 , 4 , 4 , 3 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 3 , 5 , 3 , 2 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 8 , NA , 2022-05-20T13:17Z |
| -1 | Patton Kizzire | 69 , NA , 4 , 3 , 4 , 4 , 3 , 4 , 4 , 3 , 5 , 3 , 4 , 4 , 4 , 6 , 2 , 5 , 3 , 4 , 4 , 3 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 13 , NA , 2022-05-20T14:12Z |
| -1 | Aaron Wise | 69 , NA , 5 , 4 , 4 , 3 , 4 , 3 , 3 , 3 , 5 , 4 , 4 , 5 , 4 , 3 , 3 , 4 , 4 , 4 , 5 , 4 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 26 , NA , 2022-05-20T14:17Z |
| E | Alex Noren | 70 , NA , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 3 , 4 , 3 , 4 , 4 , 5 , 4 , 3 , 4 , 4 , 4 , 3 , 3 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 27 , NA , 2022-05-20T17:30Z |
| E | Robert MacIntyre | 70 , NA , 3 , 3 , 4 , 4 , 3 , 4 , 4 , 4 , 4 , 5 , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 2 , 2 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 27 , NA , 2022-05-20T17:30Z |
| E | Tyrrell Hatton | 70 , NA , 4 , 3 , 4 , 5 , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 3 , 3 , 3 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 31 , NA , 2022-05-20T18:14Z |
| E | Max Homa | 70 , NA , 4 , 3 , 3 , 4 , 2 , 4 , 4 , 4 , 6 , 4 , 4 , 4 , 5 , 6 , 3 , 4 , 2 , 4 , 4 , 2 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 31 , NA , 2022-05-20T18:14Z |
| E | Viktor Hovland | 70 , NA , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 5 , 5 , 3 , 4 , 3 , 4 , 1 , 1 , 0 , 0 , 0 , 16 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 32 , NA , 2022-05-20T18:25Z |
| E | Ryan Fox | 70 , NA , 4 , 4 , 3 , 4 , 4 , 3 , 5 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 3 , 3 , 4 , 5 , 4 , 4 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 50 , NA , 2022-05-20T19:15Z |
| E | Francesco Molinari | 70 , NA , 4 , 3 , 3 , 5 , 3 , 4 , 4 , 3 , 5 , 4 , 4 , 4 , 4 , 6 , 3 , 3 , 4 , 4 , 3 , 3 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 37 , NA , 2022-05-20T19:20Z |
| E | Gary Woodland | 70 , NA , 4 , 3 , 4 , 6 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 3 , 4 , 3 , 3 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 37 , NA , 2022-05-20T19:20Z |
| E | Brendan Steele | 70 , NA , 5 , 5 , 4 , 4 , 5 , 3 , 3 , 3 , 3 , 3 , 3 , 4 , 5 , 3 , 5 , 4 , 4 , 4 , 3 , 3 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 52 , NA , 2022-05-20T19:37Z |
| E | Shane Lowry | 70 , NA , 4 , 5 , 4 , 3 , 5 , 3 , 4 , 3 , 4 , 5 , 3 , 3 , 5 , 4 , 4 , 4 , 3 , 4 , 3 , 3 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 17 , NA , 2022-05-20T12:38Z |
| E | Russell Henley | 70 , NA , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 3 , 3 , 3 , 4 , 2 , 2 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 7 , NA , 2022-05-20T13:06Z |
| +1 | Y.E. Yang | 71 , NA , 4 , 4 , 4 , 3 , 5 , 2 , 4 , 3 , 4 , 5 , 4 , 3 , 5 , 3 , 4 , 4 , 5 , 5 , 3 , 4 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 40 , NA , 2022-05-20T17:25Z |
| +1 | Kevin Streelman | 71 , NA , 4 , 4 , 4 , 3 , 4 , 3 , 4 , 3 , 6 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 2 , 0 , 1 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 44 , NA , 2022-05-20T18:09Z |
| +1 | Shaun Norris | 71 , NA , 4 , 5 , 3 , 5 , 5 , 3 , 3 , 3 , 6 , 3 , 4 , 4 , 5 , 4 , 3 , 3 , 4 , 4 , 5 , 4 , 0 , 1 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 44 , NA , 2022-05-20T18:09Z |
| +1 | Kramer Hickok | 71 , NA , 3 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 5 , 4 , 3 , 4 , 5 , 4 , 4 , 4 , 4 , 4 , 1 , 2 , 0 , 0 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 47 , NA , 2022-05-20T18:42Z |
| +1 | Justin Rose | 71 , NA , 4 , 3 , 4 , 4 , 2 , 3 , 4 , 5 , 5 , 4 , 5 , 4 , 5 , 4 , 3 , 5 , 3 , 4 , 4 , 5 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 34 , NA , 2022-05-20T18:47Z |
| +1 | Si Woo Kim | 71 , NA , 4 , 4 , 4 , 3 , 4 , 3 , 5 , 4 , 4 , 4 , 3 , 5 , 5 , 3 , 3 , 5 , 4 , 4 , 3 , 4 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 49 , NA , 2022-05-20T19:04Z |
| +1 | Sam Burns | 71 , NA , 4 , 3 , 5 , 5 , 3 , 4 , 4 , 3 , 4 , 5 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 1 , 2 , 0 , 0 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 36 , NA , 2022-05-20T19:09Z |
| +1 | Cameron Young | 71 , NA , 4 , 3 , 4 , 5 , 4 , 5 , 4 , 3 , 4 , 3 , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 2 , 3 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 36 , NA , 2022-05-20T19:09Z |
| +1 | Justin Harding | 71 , NA , 4 , 5 , 5 , 4 , 5 , 3 , 2 , 3 , 4 , 5 , 3 , 4 , 5 , 2 , 4 , 5 , 4 , 4 , 1 , 4 , 0 , 0 , 1 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 15 , NA , 2022-05-20T12:16Z |
| +1 | Seamus Power | 71 , NA , 5 , 3 , 3 , 5 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 6 , 3 , 4 , 3 , 4 , 2 , 3 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 4 , NA , 2022-05-20T12:33Z |
| +1 | Jason Day | 71 , NA , 4 , 4 , 4 , 4 , 5 , 3 , 5 , 3 , 4 , 4 , 3 , 4 , 4 , 3 , 4 , 5 , 4 , 4 , 1 , 2 , 0 , 0 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 19 , NA , 2022-05-20T13:00Z |
| +1 | Rickie Fowler | 71 , NA , 5 , 4 , 4 , 4 , 5 , 3 , 3 , 3 , 4 , 5 , 3 , 4 , 5 , 4 , 4 , 4 , 3 , 4 , 2 , 3 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 19 , NA , 2022-05-20T13:00Z |
| +1 | Harold Varner III | 71 , NA , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 5 , 4 , 3 , 4 , 4 , 2 , 4 , 4 , 4 , 5 , 4 , 5 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 19 , NA , 2022-05-20T13:00Z |
| +1 | Scottie Scheffler | 71 , NA , 4 , 4 , 4 , 4 , 3 , 3 , 4 , 3 , 5 , 3 , 3 , 5 , 6 , 3 , 3 , 5 , 5 , 4 , 2 , 5 , 0 , 0 , 1 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 20 , NA , 2022-05-20T13:11Z |
| +1 | Sepp Straka | 71 , NA , 4 , 3 , 5 , 5 , 3 , 5 , 4 , 4 , 5 , 4 , 4 , 3 , 4 , 5 , 2 , 4 , 3 , 4 , 2 , 3 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 9 , NA , 2022-05-20T13:28Z |
| +1 | Adam Schenk | 71 , NA , 4 , 3 , 4 , 5 , 3 , 5 , 5 , 4 , 4 , 3 , 3 , 4 , 5 , 5 , 3 , 3 , 3 , 5 , 3 , 4 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 9 , NA , 2022-05-20T13:28Z |
| +1 | Tommy Fleetwood | 71 , NA , 4 , 4 , 5 , 4 , 5 , 3 , 4 , 2 , 4 , 3 , 4 , 4 , 5 , 3 , 4 , 5 , 4 , 4 , 2 , 3 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 22 , NA , 2022-05-20T13:33Z |
| +1 | Charl Schwartzel | 71 , NA , 3 , 4 , 4 , 3 , 5 , 3 , 4 , 4 , 3 , 5 , 4 , 4 , 4 , 3 , 4 , 4 , 5 , 5 , 4 , 5 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 23 , NA , 2022-05-20T13:44Z |
| +2 | John Daly | 72 , NA , 3 , 4 , 4 , 4 , 4 , 3 , 4 , 4 , 4 , 3 , 3 , 4 , 5 , 4 , 4 , 5 , 5 , 5 , 3 , 5 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 40 , NA , 2022-05-20T17:25Z |
| +2 | Adri Arnaus | 72 , NA , 4 , 5 , 4 , 5 , 3 , 4 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 2 , 5 , 4 , 5 , 3 , 3 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 28 , NA , 2022-05-20T17:41Z |
| +2 | Hideki Matsuyama | 72 , NA , 4 , 3 , 4 , 5 , 4 , 3 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 5 , 3 , 4 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 30 , NA , 2022-05-20T18:03Z |
| +2 | Cam Davis | 72 , NA , 5 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 5 , 3 , 4 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 45 , NA , 2022-05-20T18:20Z |
| +2 | Jason Dufner | 72 , NA , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 3 , 4 , 4 , 3 , 4 , 4 , 4 , 5 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 46 , NA , 2022-05-20T18:31Z |
| +2 | Jordan Spieth | 72 , NA , 4 , 3 , 3 , 5 , 3 , 5 , 5 , 4 , 5 , 4 , 4 , 4 , 4 , 5 , 4 , 3 , 3 , 4 , 2 , 4 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 33 , NA , 2022-05-20T18:36Z |
| +2 | Bubba Watson | 72 , NA , 3 , 3 , 4 , 5 , 3 , 4 , 5 , 4 , 4 , 4 , 5 , 5 , 5 , 4 , 3 , 4 , 3 , 4 , 2 , 4 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 34 , NA , 2022-05-20T18:47Z |
| +2 | Yuki Inamori | 72 , NA , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 3 , 4 , 4 , 3 , 4 , 4 , 4 , 5 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 51 , NA , 2022-05-20T19:26Z |
| +2 | Laurie Canter | 72 , NA , 5 , 3 , 4 , 6 , 3 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 3 , 4 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 39 , NA , 2022-05-20T19:42Z |
| +2 | Lanto Griffin | 72 , NA , 5 , 3 , 4 , 5 , 2 , 4 , 4 , 4 , 5 , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 5 , 4 , 2 , 2 , 0 , 1 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 39 , NA , 2022-05-20T19:42Z |
| +2 | Alex Cejka | 72 , NA , 5 , 3 , 5 , 5 , 5 , 4 , 4 , 3 , 4 , 4 , 4 , 3 , 3 , 4 , 3 , 5 , 4 , 4 , 4 , 4 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 3 , NA , 2022-05-20T12:22Z |
| +2 | Jesse Mueller | 72 , NA , 2 , 3 , 4 , 5 , 3 , 4 , 5 , 3 , 5 , 4 , 5 , 3 , 4 , 6 , 4 , 5 , 3 , 4 , 2 , 6 , 0 , 0 , 1 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 3 , NA , 2022-05-20T12:22Z |
| +2 | Cameron Tringale | 72 , NA , 5 , 6 , 5 , 4 , 5 , 3 , 3 , 3 , 3 , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 2 , 2 , 0 , 1 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 16 , NA , 2022-05-20T12:27Z |
| +2 | Marc Leishman | 72 , NA , 5 , 3 , 4 , 5 , 3 , 4 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 4 , 3 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 6 , NA , 2022-05-20T12:55Z |
| +2 | Keegan Bradley | 72 , NA , 3 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 6 , 4 , 4 , 3 , 4 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 6 , NA , 2022-05-20T12:55Z |
| +2 | Collin Morikawa | 72 , NA , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 5 , 2 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 20 , NA , 2022-05-20T13:11Z |
| +2 | Henrik Stenson | 72 , NA , 4 , 3 , 4 , 6 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 5 , 4 , 3 , 4 , 4 , 3 , 2 , 4 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 8 , NA , 2022-05-20T13:17Z |
| +2 | J.J. Spaun | 72 , NA , 4 , 3 , 4 , 5 , 3 , 5 , 4 , 4 , 5 , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 0 , 2 , 0 , 0 , 0 , 16 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 9 , NA , 2022-05-20T13:28Z |
| +2 | Kevin Kisner | 72 , NA , 3 , 5 , 4 , 4 , 5 , 4 , 5 , 3 , 4 , 4 , 3 , 4 , 5 , 3 , 3 , 5 , 4 , 4 , 2 , 4 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 22 , NA , 2022-05-20T13:33Z |
| +2 | Keith Mitchell | 72 , NA , 4 , 3 , 4 , 4 , 4 , 5 , 5 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 3 , 3 , 5 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 10 , NA , 2022-05-20T13:39Z |
| +2 | Chan Kim | 72 , NA , 5 , 3 , 5 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 6 , 3 , 4 , 3 , 3 , 1 , 3 , 0 , 0 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 12 , NA , 2022-05-20T14:01Z |
| +2 | Bernd Wiesberger | 72 , NA , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 4 , 2 , 4 , 5 , 3 , 4 , 4 , 7 , 4 , 3 , 2 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 25 , NA , 2022-05-20T14:06Z |
| +3 | Ryan Palmer | 73 , NA , 4 , 3 , 3 , 6 , 3 , 4 , 5 , 4 , 6 , 4 , 5 , 4 , 4 , 4 , 3 , 4 , 3 , 4 , 2 , 3 , 0 , 1 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 27 , NA , 2022-05-20T17:30Z |
| +3 | Matthew Borchert | 73 , NA , 3 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 4 , 4 , 3 , 4 , 4 , 4 , 4 , 5 , 4 , 4 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 41 , NA , 2022-05-20T17:36Z |
| +3 | Troy Merritt | 73 , NA , 4 , 5 , 4 , 3 , 5 , 4 , 5 , 4 , 5 , 4 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 3 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 41 , NA , 2022-05-20T17:36Z |
| +3 | Jinichiro Kozuma | 73 , NA , 4 , 4 , 5 , 4 , 4 , 4 , 4 , 5 , 5 , 4 , 4 , 4 , 4 , 4 , 3 , 3 , 3 , 5 , 3 , 6 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 28 , NA , 2022-05-20T17:41Z |
| +3 | Denny McCarthy | 73 , NA , 5 , 3 , 4 , 4 , 3 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 5 , 5 , 3 , 4 , 3 , 4 , 1 , 4 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 31 , NA , 2022-05-20T18:14Z |
| +3 | Matt Jones | 73 , NA , 4 , 4 , 5 , 4 , 6 , 3 , 4 , 3 , 4 , 5 , 3 , 4 , 5 , 3 , 3 , 4 , 4 , 5 , 1 , 4 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 48 , NA , 2022-05-20T18:53Z |
| +3 | Min Woo Lee | 73 , NA , 4 , 4 , 4 , 4 , 6 , 3 , 5 , 3 , 5 , 4 , 4 , 4 , 4 , 3 , 3 , 4 , 4 , 5 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 14 , NA , 2022-05-20T12:05Z |
| +3 | Anirban Lahiri | 73 , NA , 5 , 2 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 7 , 3 , 4 , 3 , 4 , 1 , 2 , 0 , 1 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 2 , NA , 2022-05-20T12:11Z |
| +3 | Rich Beem | 73 , NA , 4 , 3 , 4 , 5 , 3 , 4 , 5 , 4 , 4 , 4 , 5 , 4 , 5 , 5 , 4 , 4 , 3 , 3 , 1 , 4 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 3 , NA , 2022-05-20T12:22Z |
| +3 | Adam Hadwin | 73 , NA , 4 , 4 , 3 , 5 , 5 , 3 , 4 , 3 , 4 , 4 , 3 , 5 , 6 , 4 , 4 , 3 , 4 , 5 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 16 , NA , 2022-05-20T12:27Z |
| +3 | Christiaan Bezuidenhout | 73 , NA , 5 , 3 , 4 , 4 , 4 , 6 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 1 , 2 , 0 , 1 , 0 , 14 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 5 , NA , 2022-05-20T12:44Z |
| +3 | Dustin Johnson | 73 , NA , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 3 , 4 , 5 , 5 , 3 , 5 , 4 , 4 , 4 , 1 , 4 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 18 , NA , 2022-05-20T12:49Z |
| +3 | Jon Rahm | 73 , NA , 5 , 3 , 4 , 4 , 4 , 3 , 4 , 5 , 4 , 4 , 3 , 4 , 6 , 3 , 4 , 4 , 5 , 4 , 2 , 3 , 0 , 1 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 20 , NA , 2022-05-20T13:11Z |
| +3 | Branden Grace | 73 , NA , 4 , 3 , 4 , 4 , 4 , 3 , 5 , 4 , 5 , 4 , 4 , 4 , 5 , 5 , 3 , 4 , 3 , 5 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 8 , NA , 2022-05-20T13:17Z |
| +3 | Louis Oosthuizen | 73 , NA , 3 , 6 , 4 , 4 , 4 , 3 , 5 , 3 , 5 , 3 , 2 , 4 , 7 , 3 , 4 , 5 , 4 , 4 , 4 , 3 , 0 , 2 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 21 , NA , 2022-05-20T13:22Z |
| +3 | Daniel Berger | 73 , NA , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 5 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 0 , 3 , 0 , 0 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 21 , NA , 2022-05-20T13:22Z |
| +3 | Sergio Garcia | 73 , NA , 4 , 6 , 3 , 3 , 5 , 3 , 4 , 3 , 4 , 4 , 3 , 4 , 5 , 3 , 4 , 5 , 5 , 5 , 2 , 3 , 0 , 1 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 23 , NA , 2022-05-20T13:44Z |
| +3 | Maverick McNealy | 73 , NA , 4 , 4 , 4 , 5 , 3 , 3 , 5 , 3 , 5 , 4 , 5 , 4 , 4 , 6 , 3 , 4 , 3 , 4 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 12 , NA , 2022-05-20T14:01Z |
| +3 | Jhonattan Vegas | 73 , NA , 3 , 5 , 4 , 4 , 4 , 3 , 4 , 3 , 5 , 4 , 3 , 4 , 5 , 4 , 5 , 5 , 4 , 4 , 2 , 5 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 25 , NA , 2022-05-20T14:06Z |
| +3 | Alex Beach | 73 , NA , 4 , 4 , 4 , 3 , 5 , 4 , 3 , 3 , 5 , 3 , 4 , 4 , 5 , 3 , 5 , 5 , 4 , 5 , 3 , 6 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 25 , NA , 2022-05-20T14:06Z |
| +3 | Joel Dahmen | 73 , NA , 3 , 5 , 4 , 4 , 5 , 3 , 5 , 4 , 4 , 4 , 4 , 4 , 4 , 3 , 3 , 5 , 4 , 5 , 3 , 6 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 26 , NA , 2022-05-20T14:17Z |
| +4 | Sam Horsfield | 74 , NA , 3 , 5 , 4 , 4 , 4 , 3 , 3 , 4 , 4 , 5 , 3 , 5 , 5 , 3 , 4 , 6 , 4 , 5 , 3 , 5 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 43 , NA , 2022-05-20T17:58Z |
| +4 | Rikuya Hoshino | 74 , NA , 4 , 3 , 4 , 6 , 5 , 2 , 5 , 2 , 4 , 5 , 3 , 5 , 5 , 3 , 4 , 5 , 4 , 5 , 3 , 5 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 45 , NA , 2022-05-20T18:20Z |
| +4 | Tiger Woods | 74 , NA , 3 , 3 , 4 , 5 , 2 , 5 , 4 , 4 , 5 , 5 , 5 , 3 , 5 , 5 , 3 , 4 , 4 , 5 , 3 , 7 , 0 , 0 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 33 , NA , 2022-05-20T18:36Z |
| +4 | Richard Bland | 74 , NA , 4 , 4 , 4 , 4 , 7 , 3 , 4 , 3 , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 4 , 0 , 2 , 0 , 1 , 0 , 15 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 48 , NA , 2022-05-20T18:53Z |
| +4 | Garrick Higgo | 74 , NA , 4 , 4 , 5 , 4 , 5 , 3 , 5 , 4 , 4 , 4 , 3 , 4 , 4 , 3 , 3 , 5 , 5 , 5 , 2 , 6 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 48 , NA , 2022-05-20T18:53Z |
| +4 | Daniel van Tonder | 74 , NA , 5 , 3 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 4 , 4 , 6 , 3 , 5 , 3 , 4 , 3 , 4 , 1 , 3 , 0 , 1 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 35 , NA , 2022-05-20T18:58Z |
| +4 | Sebastián Muñoz | 74 , NA , 5 , 4 , 3 , 4 , 6 , 3 , 4 , 3 , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 1 , 5 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 51 , NA , 2022-05-20T19:26Z |
| +4 | Brian Harman | 74 , NA , 5 , 4 , 5 , 6 , 3 , 4 , 4 , 2 , 5 , 4 , 4 , 4 , 4 , 6 , 3 , 4 , 3 , 4 , 0 , 6 , 0 , 0 , 1 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 38 , NA , 2022-05-20T19:31Z |
| +4 | Hudson Swafford | 74 , NA , 4 , 5 , 4 , 5 , 5 , 3 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 4 , 3 , 4 , 4 , 4 , 1 , 5 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 16 , NA , 2022-05-20T12:27Z |
| +4 | Russell Knox | 74 , NA , 4 , 3 , 4 , 5 , 3 , 6 , 4 , 3 , 4 , 4 , 5 , 4 , 4 , 6 , 3 , 5 , 3 , 4 , 1 , 3 , 0 , 1 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 4 , NA , 2022-05-20T12:33Z |
| +4 | Jason Kokrak | 74 , NA , 4 , 4 , 4 , 5 , 4 , 4 , 4 , 5 , 4 , 3 , 5 , 4 , 4 , 5 , 3 , 4 , 3 , 5 , 1 , 5 , 0 , 0 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 5 , NA , 2022-05-20T12:44Z |
| +4 | Zach Johnson | 74 , NA , 6 , 3 , 4 , 5 , 3 , 3 , 4 , 4 , 4 , 4 , 5 , 4 , 4 , 5 , 3 , 5 , 4 , 4 , 1 , 3 , 0 , 1 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 7 , NA , 2022-05-20T13:06Z |
| +4 | Cameron Champ | 74 , NA , 4 , 3 , 4 , 5 , 4 , 4 , 4 , 5 , 5 , 3 , 6 , 5 , 4 , 4 , 3 , 4 , 3 , 4 , 2 , 4 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 7 , NA , 2022-05-20T13:06Z |
| +4 | Harry Higgs | 74 , NA , 5 , 4 , 4 , 4 , 5 , 3 , 3 , 4 , 4 , 4 , 2 , 4 , 5 , 5 , 3 , 5 , 5 , 5 , 3 , 5 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 24 , NA , 2022-05-20T13:55Z |
| +4 | Luke List | 74 , NA , 3 , 3 , 4 , 5 , 4 , 4 , 4 , 5 , 5 , 4 , 4 , 4 , 4 , 7 , 2 , 4 , 4 , 4 , 2 , 4 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 13 , NA , 2022-05-20T14:12Z |
| +5 | Kyle Mendoza | 75 , NA , 4 , 4 , 4 , 4 , 6 , 4 , 4 , 3 , 4 , 3 , 3 , 5 , 5 , 3 , 5 , 6 , 3 , 5 , 2 , 5 , 0 , 1 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 42 , NA , 2022-05-20T17:47Z |
| +5 | Sadom Kaewkanjana | 75 , NA , 5 , 3 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 5 , 5 , 3 , 4 , 4 , 4 , 0 , 5 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 29 , NA , 2022-05-20T17:52Z |
| +5 | Lucas Glover | 75 , NA , 4 , 3 , 5 , 5 , 4 , 4 , 4 , 5 , 5 , 4 , 4 , 4 , 4 , 5 , 3 , 4 , 3 , 5 , 0 , 5 , 0 , 0 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 35 , NA , 2022-05-20T18:58Z |
| +5 | Lee Westwood | 75 , NA , 5 , 3 , 4 , 5 , 3 , 4 , 4 , 3 , 4 , 5 , 5 , 4 , 5 , 4 , 3 , 5 , 4 , 5 , 2 , 7 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 37 , NA , 2022-05-20T19:20Z |
| +5 | Ryan Vermeer | 75 , NA , 3 , 3 , 4 , 6 , 3 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 4 , 5 , 3 , 5 , 4 , 5 , 1 , 6 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 38 , NA , 2022-05-20T19:31Z |
| +5 | Brooks Koepka | 75 , NA , 5 , 4 , 5 , 5 , 5 , 3 , 4 , 4 , 5 , 4 , 3 , 4 , 5 , 4 , 3 , 4 , 4 , 4 , 1 , 6 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 17 , NA , 2022-05-20T12:38Z |
| +5 | Billy Horschel | 75 , NA , 4 , 5 , 4 , 6 , 5 , 4 , 4 , 3 , 4 , 4 , 3 , 5 , 5 , 4 , 4 , 3 , 4 , 4 , 1 , 4 , 0 , 1 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 22 , NA , 2022-05-20T13:33Z |
| +5 | Erik van Rooyen | 75 , NA , 4 , 3 , 5 , 4 , 5 , 3 , 5 , 4 , 5 , 4 , 3 , 4 , 6 , 3 , 3 , 4 , 5 , 5 , 2 , 7 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 24 , NA , 2022-05-20T13:55Z |
| +6 | Shaun Micheel | 76 , NA , 4 , 5 , 5 , 4 , 5 , 3 , 4 , 4 , 4 , 3 , 3 , 5 , 4 , 4 , 4 , 6 , 4 , 5 , 2 , 6 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 40 , NA , 2022-05-20T17:25Z |
| +6 | Bio Kim | 76 , NA , 4 , 4 , 5 , 4 , 5 , 3 , 4 , 4 , 4 , 5 , 3 , 4 , 5 , 2 , 4 , 5 , 6 , 5 , 1 , 5 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 52 , NA , 2022-05-20T19:37Z |
| +6 | Ryan Brehm | 76 , NA , 4 , 4 , 6 , 4 , 5 , 3 , 3 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 5 , 4 , 5 , 5 , 1 , 5 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 14 , NA , 2022-05-20T12:05Z |
| +6 | Corey Conners | 76 , NA , 5 , 3 , 4 , 5 , 4 , 6 , 4 , 4 , 4 , 4 , 4 , 4 , 4 , 5 , 3 , 5 , 4 , 4 , 0 , 4 , 0 , 1 , 0 , 13 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 5 , NA , 2022-05-20T12:44Z |
| +6 | Patrick Cantlay | 76 , NA , 4 , 5 , 3 , 5 , 6 , 3 , 4 , 4 , 4 , 4 , 3 , 5 , 6 , 3 , 3 , 4 , 5 , 5 , 2 , 8 , 0 , 0 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 18 , NA , 2022-05-20T12:49Z |
| +6 | Martin Kaymer | 76 , NA , 4 , 3 , 4 , 4 , 4 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 5 , 5 , 4 , 5 , 4 , 4 , 2 , 8 , 0 , 0 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 6 , NA , 2022-05-20T12:55Z |
| +6 | Ian Poulter | 76 , NA , 4 , 4 , 4 , 4 , 6 , 3 , 5 , 3 , 4 , 4 , 3 , 5 , 4 , 5 , 4 , 5 , 4 , 5 , 1 , 5 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 21 , NA , 2022-05-20T13:22Z |
| +6 | Matthew Wolff | 76 , NA , 4 , 4 , 4 , 5 , 4 , 4 , 5 , 4 , 4 , 5 , 6 , 5 , 5 , 5 , 2 , 3 , 3 , 4 , 2 , 6 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 10 , NA , 2022-05-20T13:39Z |
| +7 | Takumi Kanaya | 77 , NA , 4 , 4 , 6 , 4 , 5 , 4 , 4 , 3 , 4 , 5 , 3 , 5 , 4 , 3 , 4 , 5 , 4 , 6 , 1 , 4 , 0 , 2 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 41 , NA , 2022-05-20T17:36Z |
| +7 | Mackenzie Hughes | 77 , NA , 4 , 3 , 4 , 5 , 3 , 5 , 4 , 5 , 5 , 4 , 6 , 4 , 4 , 6 , 3 , 4 , 4 , 4 , 0 , 5 , 0 , 1 , 0 , 12 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 29 , NA , 2022-05-20T17:52Z |
| +7 | Padraig Harrington | 77 , NA , 4 , 6 , 3 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 3 , 3 , 5 , 4 , 5 , 5 , 4 , 5 , 2 , 7 , 0 , 1 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 46 , NA , 2022-05-20T18:31Z |
| +7 | Pablo Larrazábal | 77 , NA , 3 , 4 , 4 , 4 , 5 , 3 , 6 , 4 , 5 , 5 , 4 , 5 , 5 , 3 , 4 , 4 , 4 , 5 , 1 , 6 , 0 , 1 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 50 , NA , 2022-05-20T19:15Z |
| +7 | Wyatt Worthington II | 77 , NA , 4 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 4 , 5 , 3 , 4 , 5 , 3 , 5 , 4 , 5 , 5 , 0 , 7 , 0 , 0 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 14 , NA , 2022-05-20T12:05Z |
| +7 | Tim Feenstra | 77 , NA , 3 , 4 , 3 , 4 , 5 , 4 , 6 , 5 , 5 , 4 , 5 , 5 , 4 , 7 , 3 , 3 , 3 , 4 , 4 , 5 , 0 , 3 , 0 , 6 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 2 , NA , 2022-05-20T12:11Z |
| +7 | Adam Scott | 77 , NA , 3 , 4 , 4 , 5 , 4 , 3 , 5 , 3 , 5 , 6 , 4 , 4 , 4 , 4 , 3 , 4 , 8 , 4 , 4 , 5 , 0 , 1 , 0 , 7 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 17 , NA , 2022-05-20T12:38Z |
| +7 | Chad Ramey | 77 , NA , 4 , 3 , 4 , 5 , 4 , 5 , 4 , 5 , 6 , 3 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 4 , 1 , 6 , 0 , 1 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 11 , NA , 2022-05-20T13:50Z |
| +8 | Colin Inglis | 78 , NA , 4 , 3 , 5 , 5 , 3 , 4 , 4 , 5 , 4 , 4 , 6 , 4 , 5 , 6 , 4 , 4 , 3 , 5 , 0 , 6 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 28 , NA , 2022-05-20T17:41Z |
| +8 | Michael Block | 78 , NA , 3 , 3 , 4 , 5 , 4 , 6 , 6 , 6 , 4 , 5 , 5 , 4 , 4 , 5 , 3 , 4 , 3 , 4 , 1 , 3 , 0 , 3 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 29 , NA , 2022-05-20T17:52Z |
| +8 | Nic Ishee | 78 , NA , 4 , 5 , 3 , 4 , 5 , 4 , 4 , 4 , 4 , 4 , 3 , 6 , 5 , 3 , 4 , 4 , 5 , 7 , 1 , 4 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 43 , NA , 2022-05-20T17:58Z |
| +8 | Shawn Warren | 78 , NA , 5 , 5 , 5 , 4 , 5 , 3 , 5 , 4 , 4 , 3 , 3 , 5 , 5 , 3 , 4 , 5 , 5 , 5 , 1 , 9 , 0 , 0 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 50 , NA , 2022-05-20T19:15Z |
| +8 | Oliver Bekker | 78 , NA , 4 , 3 , 5 , 5 , 3 , 5 , 4 , 6 , 5 , 4 , 4 , 5 , 4 , 5 , 4 , 4 , 3 , 5 , 0 , 6 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 38 , NA , 2022-05-20T19:31Z |
| +8 | Dylan Newman | 78 , NA , 4 , 3 , 4 , 5 , 6 , 3 , 4 , 4 , 4 , 4 , 5 , 4 , 6 , 5 , 3 , 5 , 4 , 5 , 1 , 4 , 0 , 1 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 39 , NA , 2022-05-20T19:42Z |
| +8 | Brandon Bingaman | 78 , NA , 5 , 3 , 6 , 5 , 3 , 4 , 5 , 4 , 6 , 4 , 4 , 3 , 5 , 5 , 3 , 5 , 4 , 4 , 1 , 5 , 0 , 2 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 1 , NA , 2022-05-20T12:00Z |
| +8 | Nicolai Højgaard | 78 , NA , 4 , 4 , 4 , 5 , 5 , 3 , 4 , 4 , 5 , 5 , 2 , 4 , 5 , 4 , 4 , 4 , 7 , 5 , 1 , 6 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 15 , NA , 2022-05-20T12:16Z |
| +8 | Scott Stallings | 78 , NA , 4 , 4 , 5 , 5 , 3 , 4 , 5 , 5 , 5 , 4 , 4 , 5 , 5 , 6 , 3 , 4 , 3 , 4 , 0 , 8 , 0 , 0 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 4 , NA , 2022-05-20T12:33Z |
| +8 | Joohyung Kim | 78 , NA , 4 , 3 , 5 , 5 , 4 , 4 , 5 , 3 , 5 , 4 , 5 , 4 , 4 , 6 , 4 , 4 , 4 , 5 , 1 , 9 , 0 , 0 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 10 , NA , 2022-05-20T13:39Z |
| +8 | Austin Hurt | 78 , NA , 4 , 5 , 4 , 5 , 4 , 4 , 4 , 7 , 5 , 5 , 4 , 4 , 5 , 4 , 3 , 4 , 2 , 5 , 2 , 5 , 0 , 1 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 11 , NA , 2022-05-20T13:50Z |
| +8 | Paul Dickinson | 78 , NA , 4 , 4 , 5 , 7 , 4 , 3 , 3 , 5 , 4 , 3 , 5 , 4 , 4 , 5 , 5 , 4 , 4 , 5 , 3 , 7 , 0 , 2 , 0 , 6 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 13 , NA , 2022-05-20T14:12Z |
| +9 | Carlos Ortiz | 79 , NA , 4 , 6 , 4 , 4 , 6 , 3 , 4 , 4 , 3 , 4 , 4 , 5 , 5 , 5 , 4 , 5 , 4 , 5 , 1 , 6 , 0 , 2 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 44 , NA , 2022-05-20T18:09Z |
| +9 | Casey Pyne | 79 , NA , 5 , 5 , 4 , 4 , 6 , 3 , 4 , 5 , 3 , 5 , 3 , 5 , 5 , 4 , 5 , 5 , 4 , 4 , 1 , 8 , 0 , 1 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 52 , NA , 2022-05-20T19:37Z |
| +9 | Ryosuke Kinoshita | 79 , NA , 6 , 3 , 4 , 4 , 6 , 4 , 5 , 4 , 5 , 5 , 4 , 4 , 4 , 5 , 4 , 5 , 3 , 4 , 1 , 5 , 0 , 1 , 0 , 10 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 1 , NA , 2022-05-20T12:00Z |
| +9 | Tyler Collet | 79 , NA , 4 , 3 , 5 , 5 , 4 , 5 , 4 , 5 , 4 , 5 , 5 , 5 , 5 , 5 , 3 , 4 , 4 , 4 , 0 , 9 , 0 , 0 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 1 , NA , 12 , NA , 2022-05-20T14:01Z |
| +9 | Jared Jones | 79 , NA , 4 , 4 , 5 , 4 , 5 , 5 , 4 , 3 , 4 , 4 , 3 , 4 , 6 , 3 , 6 , 5 , 5 , 5 , 0 , 5 , 0 , 2 , 0 , 11 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 26 , NA , 2022-05-20T14:17Z |
| +11 | Zac Oakley | 81 , NA , 6 , 5 , 5 , 4 , 5 , 4 , 5 , 3 , 5 , 5 , 3 , 4 , 6 , 4 , 5 , 4 , 4 , 4 , 0 , 9 , 0 , 1 , 0 , 8 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 51 , NA , 2022-05-20T19:26Z |
| +12 | Sean McCarty | 82 , NA , 5 , 5 , 4 , 5 , 5 , 3 , 4 , 4 , 4 , 4 , 5 , 4 , 5 , 4 , 5 , 4 , 6 , 6 , 0 , 6 , 0 , 3 , 0 , 9 , NA , 2 , NA , 61 , NA , FALSE , NA , 10 , NA , 15 , NA , 2022-05-20T12:16Z |
Lets pull the information we are after, I like to save the results to a list and bind together to a data frame, but any method should work here.
score_data = list()
N = nrow(data)
for(i in 1:N) {
tmp = data[i, ]
start = tmp$linescores[[1]]$startTee[[2]]
player = tmp$athlete.displayName
scores = tmp$linescores[[1]]$linescores[[1]]
# start hole indicators are reversed
if(start == 1) {
hole_list = c(seq(10, 18, 1), seq(1, 9, 1))[1:nrow(scores)]
} else {
hole_list = seq(1, 18, 1)[1:nrow(scores)]
}
out = data.frame(player,
hole_list,
scores)
score_data[[length(score_data) + 1]] = out
}
score_data = do.call(rbind.data.frame, score_data)
Now we have our tidy data set, which we can reshape to make our data appear more like a leaderboard.
score_data %>%
arrange(hole_list) %>%
tidyr::pivot_wider(id_cols = player, names_from = hole_list, values_from = value, values_fill = NULL) %>%
mutate(total = rowSums(select(., !contains("player")))) %>%
arrange(total, player) %>%
print_tbl()
| player | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | total |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Rory McIlroy | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 3 | 4 | 2 | 3 | 4 | 4 | 4 | 65 |
| Tom Hoge | 3 | 4 | 5 | 4 | 4 | 3 | 4 | 3 | 3 | 3 | 3 | 4 | 5 | 3 | 3 | 4 | 4 | 4 | 66 |
| Will Zalatoris | 4 | 4 | 3 | 4 | 5 | 4 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 3 | 4 | 4 | 4 | 5 | 66 |
| Abraham Ancer | 4 | 5 | 3 | 4 | 4 | 3 | 3 | 3 | 4 | 3 | 4 | 4 | 5 | 3 | 3 | 5 | 3 | 4 | 67 |
| Justin Thomas | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 4 | 5 | 3 | 3 | 4 | 5 | 3 | 3 | 4 | 4 | 3 | 67 |
| Matt Kuchar | 3 | 5 | 4 | 5 | 5 | 3 | 4 | 3 | 3 | 4 | 3 | 4 | 4 | 3 | 3 | 3 | 4 | 4 | 67 |
| Cameron Smith | 3 | 3 | 3 | 4 | 4 | 3 | 3 | 4 | 4 | 4 | 2 | 6 | 4 | 3 | 4 | 5 | 5 | 4 | 68 |
| Chris Kirk | 4 | 4 | 4 | 4 | 5 | 2 | 4 | 3 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 68 |
| Davis Riley | 5 | 4 | 4 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 3 | 3 | 4 | 3 | 3 | 4 | 4 | 5 | 68 |
| Joaquin Niemann | 4 | 5 | 4 | 4 | 5 | 3 | 3 | 4 | 3 | 3 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 68 |
| Kevin Na | 3 | 5 | 3 | 5 | 4 | 3 | 4 | 3 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 68 |
| Lucas Herbert | 3 | 5 | 3 | 4 | 4 | 4 | 4 | 3 | 5 | 3 | 3 | 4 | 4 | 2 | 5 | 4 | 4 | 4 | 68 |
| Matt Fitzpatrick | 3 | 3 | 5 | 4 | 5 | 2 | 5 | 3 | 4 | 4 | 2 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 68 |
| Mito Pereira | 4 | 4 | 4 | 5 | 5 | 2 | 4 | 3 | 4 | 4 | 3 | 5 | 4 | 2 | 4 | 4 | 3 | 4 | 68 |
| Xander Schauffele | 4 | 4 | 4 | 4 | 5 | 2 | 4 | 3 | 4 | 3 | 3 | 4 | 4 | 4 | 3 | 4 | 4 | 5 | 68 |
| Aaron Wise | 5 | 4 | 4 | 3 | 4 | 3 | 3 | 3 | 5 | 4 | 4 | 5 | 4 | 3 | 3 | 4 | 4 | 4 | 69 |
| Beau Hossler | 4 | 5 | 4 | 4 | 5 | 4 | 3 | 3 | 4 | 3 | 3 | 4 | 5 | 2 | 4 | 4 | 4 | 4 | 69 |
| Dean Burmester | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 2 | 4 | 4 | 3 | 4 | 4 | 5 | 5 | 69 |
| K.H. Lee | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 3 | 69 |
| Patrick Reed | 3 | 5 | 3 | 4 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 69 |
| Patton Kizzire | 3 | 4 | 4 | 4 | 6 | 2 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 3 | 4 | 4 | 3 | 5 | 69 |
| Stewart Cink | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 3 | 4 | 3 | 5 | 4 | 2 | 5 | 4 | 4 | 4 | 69 |
| Talor Gooch | 3 | 4 | 4 | 4 | 4 | 3 | 5 | 3 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 5 | 4 | 69 |
| Thomas Pieters | 3 | 4 | 4 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 2 | 3 | 4 | 3 | 4 | 4 | 4 | 4 | 69 |
| Tony Finau | 4 | 3 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 69 |
| Webb Simpson | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 5 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 69 |
| Alex Noren | 3 | 4 | 4 | 5 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 70 |
| Brendan Steele | 5 | 5 | 4 | 4 | 5 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 5 | 3 | 5 | 4 | 4 | 4 | 70 |
| Francesco Molinari | 4 | 4 | 4 | 4 | 6 | 3 | 3 | 4 | 4 | 4 | 3 | 3 | 5 | 3 | 4 | 4 | 3 | 5 | 70 |
| Gary Woodland | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 6 | 3 | 4 | 5 | 3 | 4 | 70 |
| Max Homa | 4 | 4 | 4 | 5 | 6 | 3 | 4 | 2 | 4 | 4 | 3 | 3 | 4 | 2 | 4 | 4 | 4 | 6 | 70 |
| Robert MacIntyre | 5 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 70 |
| Russell Henley | 3 | 4 | 4 | 4 | 5 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 70 |
| Ryan Fox | 4 | 4 | 3 | 4 | 4 | 3 | 5 | 4 | 4 | 4 | 4 | 4 | 5 | 3 | 3 | 3 | 4 | 5 | 70 |
| Shane Lowry | 4 | 5 | 4 | 3 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 70 |
| Tyrrell Hatton | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 3 | 4 | 5 | 4 | 3 | 4 | 5 | 3 | 70 |
| Viktor Hovland | 4 | 3 | 4 | 5 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 70 |
| Adam Schenk | 3 | 3 | 4 | 5 | 5 | 3 | 3 | 3 | 5 | 4 | 3 | 4 | 5 | 3 | 5 | 5 | 4 | 4 | 71 |
| Cameron Young | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 5 | 4 | 5 | 4 | 3 | 4 | 71 |
| Charl Schwartzel | 3 | 4 | 4 | 3 | 5 | 3 | 4 | 4 | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 4 | 5 | 5 | 71 |
| Harold Varner III | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 4 | 5 | 4 | 3 | 4 | 4 | 2 | 4 | 4 | 4 | 5 | 71 |
| Jason Day | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 71 |
| Justin Harding | 4 | 5 | 5 | 4 | 5 | 3 | 2 | 3 | 4 | 5 | 3 | 4 | 5 | 2 | 4 | 5 | 4 | 4 | 71 |
| Justin Rose | 4 | 5 | 4 | 5 | 4 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 2 | 3 | 4 | 5 | 5 | 71 |
| Kevin Streelman | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 3 | 6 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 71 |
| Kramer Hickok | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 5 | 4 | 3 | 4 | 5 | 4 | 4 | 4 | 4 | 4 | 71 |
| Rickie Fowler | 5 | 4 | 4 | 4 | 5 | 3 | 3 | 3 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 71 |
| Sam Burns | 5 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 5 | 5 | 3 | 4 | 4 | 3 | 4 | 71 |
| Scottie Scheffler | 4 | 4 | 4 | 4 | 3 | 3 | 4 | 3 | 5 | 3 | 3 | 5 | 6 | 3 | 3 | 5 | 5 | 4 | 71 |
| Seamus Power | 4 | 4 | 4 | 4 | 6 | 3 | 4 | 3 | 4 | 5 | 3 | 3 | 5 | 4 | 3 | 4 | 4 | 4 | 71 |
| Sepp Straka | 4 | 4 | 3 | 4 | 5 | 2 | 4 | 3 | 4 | 4 | 3 | 5 | 5 | 3 | 5 | 4 | 4 | 5 | 71 |
| Shaun Norris | 4 | 5 | 3 | 5 | 5 | 3 | 3 | 3 | 6 | 3 | 4 | 4 | 5 | 4 | 3 | 3 | 4 | 4 | 71 |
| Si Woo Kim | 4 | 4 | 4 | 3 | 4 | 3 | 5 | 4 | 4 | 4 | 3 | 5 | 5 | 3 | 3 | 5 | 4 | 4 | 71 |
| Tommy Fleetwood | 4 | 4 | 5 | 4 | 5 | 3 | 4 | 2 | 4 | 3 | 4 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 71 |
| Y.E. Yang | 4 | 4 | 4 | 3 | 5 | 2 | 4 | 3 | 4 | 5 | 4 | 3 | 5 | 3 | 4 | 4 | 5 | 5 | 71 |
| Adri Arnaus | 4 | 4 | 4 | 4 | 4 | 2 | 5 | 4 | 5 | 4 | 5 | 4 | 5 | 3 | 4 | 3 | 4 | 4 | 72 |
| Alex Cejka | 4 | 4 | 3 | 3 | 4 | 3 | 5 | 4 | 4 | 5 | 3 | 5 | 5 | 5 | 4 | 4 | 3 | 4 | 72 |
| Bernd Wiesberger | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 2 | 4 | 5 | 3 | 4 | 4 | 7 | 4 | 72 |
| Bubba Watson | 4 | 5 | 5 | 5 | 4 | 3 | 4 | 3 | 4 | 3 | 3 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 72 |
| Cam Davis | 5 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 5 | 3 | 4 | 72 |
| Cameron Tringale | 5 | 6 | 5 | 4 | 5 | 3 | 3 | 3 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 72 |
| Chan Kim | 4 | 4 | 4 | 4 | 6 | 3 | 4 | 3 | 3 | 5 | 3 | 5 | 5 | 3 | 4 | 4 | 4 | 4 | 72 |
| Collin Morikawa | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 2 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 72 |
| Henrik Stenson | 4 | 4 | 5 | 5 | 4 | 3 | 4 | 4 | 3 | 4 | 3 | 4 | 6 | 3 | 4 | 4 | 4 | 4 | 72 |
| Hideki Matsuyama | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 3 | 5 | 4 | 4 | 72 |
| J.J. Spaun | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 5 | 4 | 4 | 5 | 72 |
| Jason Dufner | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 5 | 72 |
| Jesse Mueller | 4 | 5 | 3 | 4 | 6 | 4 | 5 | 3 | 4 | 2 | 3 | 4 | 5 | 3 | 4 | 5 | 3 | 5 | 72 |
| John Daly | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 4 | 4 | 3 | 3 | 4 | 5 | 4 | 4 | 5 | 5 | 5 | 72 |
| Jordan Spieth | 4 | 4 | 4 | 4 | 5 | 4 | 3 | 3 | 4 | 4 | 3 | 3 | 5 | 3 | 5 | 5 | 4 | 5 | 72 |
| Keegan Bradley | 4 | 4 | 4 | 4 | 6 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 72 |
| Keith Mitchell | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 3 | 4 | 3 | 4 | 4 | 4 | 5 | 5 | 5 | 5 | 72 |
| Kevin Kisner | 3 | 5 | 4 | 4 | 5 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 3 | 5 | 4 | 4 | 72 |
| Lanto Griffin | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 5 | 4 | 5 | 3 | 4 | 5 | 2 | 4 | 4 | 4 | 5 | 72 |
| Laurie Canter | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 6 | 3 | 5 | 4 | 4 | 4 | 72 |
| Marc Leishman | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 3 | 5 | 3 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 72 |
| Yuki Inamori | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 5 | 72 |
| Adam Hadwin | 4 | 4 | 3 | 5 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 5 | 6 | 4 | 4 | 3 | 4 | 5 | 73 |
| Alex Beach | 4 | 4 | 4 | 3 | 5 | 4 | 3 | 3 | 5 | 3 | 4 | 4 | 5 | 3 | 5 | 5 | 4 | 5 | 73 |
| Anirban Lahiri | 4 | 4 | 4 | 5 | 7 | 3 | 4 | 3 | 4 | 5 | 2 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 73 |
| Branden Grace | 4 | 4 | 4 | 5 | 5 | 3 | 4 | 3 | 5 | 4 | 3 | 4 | 4 | 4 | 3 | 5 | 4 | 5 | 73 |
| Christiaan Bezuidenhout | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 6 | 4 | 4 | 4 | 73 |
| Daniel Berger | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 73 |
| Denny McCarthy | 4 | 5 | 4 | 5 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 5 | 73 |
| Dustin Johnson | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 3 | 4 | 5 | 5 | 3 | 5 | 4 | 4 | 4 | 73 |
| Jhonattan Vegas | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 3 | 5 | 4 | 3 | 4 | 5 | 4 | 5 | 5 | 4 | 4 | 73 |
| Jinichiro Kozuma | 4 | 4 | 4 | 4 | 4 | 3 | 3 | 3 | 5 | 4 | 4 | 5 | 4 | 4 | 4 | 4 | 5 | 5 | 73 |
| Joel Dahmen | 3 | 5 | 4 | 4 | 5 | 3 | 5 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 3 | 5 | 4 | 5 | 73 |
| Jon Rahm | 5 | 3 | 4 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 3 | 4 | 6 | 3 | 4 | 4 | 5 | 4 | 73 |
| Louis Oosthuizen | 3 | 6 | 4 | 4 | 4 | 3 | 5 | 3 | 5 | 3 | 2 | 4 | 7 | 3 | 4 | 5 | 4 | 4 | 73 |
| Matt Jones | 4 | 4 | 5 | 4 | 6 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 3 | 3 | 4 | 4 | 5 | 73 |
| Matthew Borchert | 3 | 4 | 4 | 4 | 5 | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 5 | 4 | 4 | 73 |
| Maverick McNealy | 4 | 5 | 4 | 4 | 6 | 3 | 4 | 3 | 4 | 4 | 4 | 4 | 5 | 3 | 3 | 5 | 3 | 5 | 73 |
| Min Woo Lee | 4 | 4 | 4 | 4 | 6 | 3 | 5 | 3 | 5 | 4 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 5 | 73 |
| Rich Beem | 4 | 5 | 4 | 5 | 5 | 4 | 4 | 3 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 73 |
| Ryan Palmer | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 3 | 3 | 6 | 3 | 4 | 5 | 4 | 6 | 73 |
| Sergio Garcia | 4 | 6 | 3 | 3 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 5 | 5 | 73 |
| Troy Merritt | 4 | 5 | 4 | 3 | 5 | 4 | 5 | 4 | 5 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 3 | 73 |
| Brian Harman | 4 | 4 | 4 | 4 | 6 | 3 | 4 | 3 | 4 | 5 | 4 | 5 | 6 | 3 | 4 | 4 | 2 | 5 | 74 |
| Cameron Champ | 3 | 6 | 5 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 4 | 5 | 5 | 74 |
| Daniel van Tonder | 4 | 4 | 6 | 3 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 74 |
| Garrick Higgo | 4 | 4 | 5 | 4 | 5 | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 4 | 3 | 3 | 5 | 5 | 5 | 74 |
| Harry Higgs | 5 | 4 | 4 | 4 | 5 | 3 | 3 | 4 | 4 | 4 | 2 | 4 | 5 | 5 | 3 | 5 | 5 | 5 | 74 |
| Hudson Swafford | 4 | 5 | 4 | 5 | 5 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 4 | 3 | 4 | 4 | 4 | 74 |
| Jason Kokrak | 3 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 5 | 4 | 4 | 4 | 5 | 4 | 4 | 4 | 5 | 4 | 74 |
| Luke List | 4 | 4 | 4 | 4 | 7 | 2 | 4 | 4 | 4 | 3 | 3 | 4 | 5 | 4 | 4 | 4 | 5 | 5 | 74 |
| Richard Bland | 4 | 4 | 4 | 4 | 7 | 3 | 4 | 3 | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 74 |
| Rikuya Hoshino | 4 | 3 | 4 | 6 | 5 | 2 | 5 | 2 | 4 | 5 | 3 | 5 | 5 | 3 | 4 | 5 | 4 | 5 | 74 |
| Russell Knox | 4 | 5 | 4 | 4 | 6 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 6 | 4 | 3 | 4 | 74 |
| Sam Horsfield | 3 | 5 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 5 | 3 | 5 | 5 | 3 | 4 | 6 | 4 | 5 | 74 |
| Sebastián Muñoz | 5 | 4 | 3 | 4 | 6 | 3 | 4 | 3 | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 74 |
| Tiger Woods | 5 | 5 | 3 | 5 | 5 | 3 | 4 | 4 | 5 | 3 | 3 | 4 | 5 | 2 | 5 | 4 | 4 | 5 | 74 |
| Zach Johnson | 4 | 5 | 4 | 4 | 5 | 3 | 5 | 4 | 4 | 6 | 3 | 4 | 5 | 3 | 3 | 4 | 4 | 4 | 74 |
| Billy Horschel | 4 | 5 | 4 | 6 | 5 | 4 | 4 | 3 | 4 | 4 | 3 | 5 | 5 | 4 | 4 | 3 | 4 | 4 | 75 |
| Brooks Koepka | 5 | 4 | 5 | 5 | 5 | 3 | 4 | 4 | 5 | 4 | 3 | 4 | 5 | 4 | 3 | 4 | 4 | 4 | 75 |
| Erik van Rooyen | 4 | 3 | 5 | 4 | 5 | 3 | 5 | 4 | 5 | 4 | 3 | 4 | 6 | 3 | 3 | 4 | 5 | 5 | 75 |
| Kyle Mendoza | 4 | 4 | 4 | 4 | 6 | 4 | 4 | 3 | 4 | 3 | 3 | 5 | 5 | 3 | 5 | 6 | 3 | 5 | 75 |
| Lee Westwood | 5 | 5 | 4 | 5 | 4 | 3 | 5 | 4 | 5 | 5 | 3 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 75 |
| Lucas Glover | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 5 | 4 | 3 | 5 | 5 | 4 | 4 | 4 | 5 | 5 | 75 |
| Ryan Vermeer | 4 | 5 | 4 | 4 | 5 | 3 | 5 | 4 | 5 | 3 | 3 | 4 | 6 | 3 | 4 | 4 | 4 | 5 | 75 |
| Sadom Kaewkanjana | 4 | 5 | 4 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 75 |
| Bio Kim | 4 | 4 | 5 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 5 | 2 | 4 | 5 | 6 | 5 | 76 |
| Corey Conners | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 4 | 4 | 5 | 3 | 4 | 5 | 4 | 6 | 4 | 4 | 4 | 76 |
| Ian Poulter | 4 | 4 | 4 | 4 | 6 | 3 | 5 | 3 | 4 | 4 | 3 | 5 | 4 | 5 | 4 | 5 | 4 | 5 | 76 |
| Martin Kaymer | 4 | 4 | 5 | 5 | 5 | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 4 | 4 | 5 | 5 | 3 | 4 | 76 |
| Matthew Wolff | 5 | 6 | 5 | 5 | 5 | 2 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | 4 | 4 | 5 | 4 | 4 | 76 |
| Patrick Cantlay | 4 | 5 | 3 | 5 | 6 | 3 | 4 | 4 | 4 | 4 | 3 | 5 | 6 | 3 | 3 | 4 | 5 | 5 | 76 |
| Ryan Brehm | 4 | 4 | 6 | 4 | 5 | 3 | 3 | 4 | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 4 | 5 | 5 | 76 |
| Shaun Micheel | 4 | 5 | 5 | 4 | 5 | 3 | 4 | 4 | 4 | 3 | 3 | 5 | 4 | 4 | 4 | 6 | 4 | 5 | 76 |
| Adam Scott | 3 | 4 | 4 | 5 | 4 | 3 | 5 | 3 | 5 | 6 | 4 | 4 | 4 | 4 | 3 | 4 | 8 | 4 | 77 |
| Chad Ramey | 3 | 4 | 4 | 4 | 5 | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 5 | 4 | 5 | 4 | 5 | 6 | 77 |
| Mackenzie Hughes | 4 | 6 | 4 | 4 | 6 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 5 | 3 | 5 | 4 | 5 | 5 | 77 |
| Pablo Larrazábal | 3 | 4 | 4 | 4 | 5 | 3 | 6 | 4 | 5 | 5 | 4 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 77 |
| Padraig Harrington | 4 | 6 | 3 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 3 | 3 | 5 | 4 | 5 | 5 | 4 | 5 | 77 |
| Takumi Kanaya | 4 | 4 | 6 | 4 | 5 | 4 | 4 | 3 | 4 | 5 | 3 | 5 | 4 | 3 | 4 | 5 | 4 | 6 | 77 |
| Tim Feenstra | 4 | 5 | 5 | 4 | 7 | 3 | 3 | 3 | 4 | 3 | 4 | 3 | 4 | 5 | 4 | 6 | 5 | 5 | 77 |
| Wyatt Worthington II | 4 | 4 | 4 | 4 | 5 | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 5 | 3 | 5 | 4 | 5 | 5 | 77 |
| Austin Hurt | 5 | 4 | 4 | 5 | 4 | 3 | 4 | 2 | 5 | 4 | 5 | 4 | 5 | 4 | 4 | 4 | 7 | 5 | 78 |
| Brandon Bingaman | 4 | 4 | 3 | 5 | 5 | 3 | 5 | 4 | 4 | 5 | 3 | 6 | 5 | 3 | 4 | 5 | 4 | 6 | 78 |
| Colin Inglis | 4 | 6 | 4 | 5 | 6 | 4 | 4 | 3 | 5 | 4 | 3 | 5 | 5 | 3 | 4 | 4 | 5 | 4 | 78 |
| Dylan Newman | 4 | 5 | 4 | 6 | 5 | 3 | 5 | 4 | 5 | 4 | 3 | 4 | 5 | 6 | 3 | 4 | 4 | 4 | 78 |
| Joohyung Kim | 4 | 5 | 4 | 4 | 6 | 4 | 4 | 4 | 5 | 4 | 3 | 5 | 5 | 4 | 4 | 5 | 3 | 5 | 78 |
| Michael Block | 5 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 3 | 3 | 4 | 5 | 4 | 6 | 6 | 6 | 4 | 78 |
| Nic Ishee | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 4 | 4 | 4 | 3 | 6 | 5 | 3 | 4 | 4 | 5 | 7 | 78 |
| Nicolai Højgaard | 4 | 4 | 4 | 5 | 5 | 3 | 4 | 4 | 5 | 5 | 2 | 4 | 5 | 4 | 4 | 4 | 7 | 5 | 78 |
| Oliver Bekker | 4 | 4 | 5 | 4 | 5 | 4 | 4 | 3 | 5 | 4 | 3 | 5 | 5 | 3 | 5 | 4 | 6 | 5 | 78 |
| Paul Dickinson | 3 | 5 | 4 | 4 | 5 | 5 | 4 | 4 | 5 | 4 | 4 | 5 | 7 | 4 | 3 | 3 | 5 | 4 | 78 |
| Scott Stallings | 4 | 4 | 5 | 5 | 6 | 3 | 4 | 3 | 4 | 4 | 4 | 5 | 5 | 3 | 4 | 5 | 5 | 5 | 78 |
| Shawn Warren | 5 | 5 | 5 | 4 | 5 | 3 | 5 | 4 | 4 | 3 | 3 | 5 | 5 | 3 | 4 | 5 | 5 | 5 | 78 |
| Carlos Ortiz | 4 | 6 | 4 | 4 | 6 | 3 | 4 | 4 | 3 | 4 | 4 | 5 | 5 | 5 | 4 | 5 | 4 | 5 | 79 |
| Casey Pyne | 5 | 5 | 4 | 4 | 6 | 3 | 4 | 5 | 3 | 5 | 3 | 5 | 5 | 4 | 5 | 5 | 4 | 4 | 79 |
| Jared Jones | 4 | 4 | 5 | 4 | 5 | 5 | 4 | 3 | 4 | 4 | 3 | 4 | 6 | 3 | 6 | 5 | 5 | 5 | 79 |
| Ryosuke Kinoshita | 5 | 4 | 4 | 4 | 5 | 4 | 5 | 3 | 4 | 6 | 3 | 4 | 4 | 6 | 4 | 5 | 4 | 5 | 79 |
| Tyler Collet | 5 | 5 | 5 | 5 | 5 | 3 | 4 | 4 | 4 | 4 | 3 | 5 | 5 | 4 | 5 | 4 | 5 | 4 | 79 |
| Zac Oakley | 6 | 5 | 5 | 4 | 5 | 4 | 5 | 3 | 5 | 5 | 3 | 4 | 6 | 4 | 5 | 4 | 4 | 4 | 81 |
| Sean McCarty | 5 | 5 | 4 | 5 | 5 | 3 | 4 | 4 | 4 | 4 | 5 | 4 | 5 | 4 | 5 | 4 | 6 | 6 | 82 |
While the scores for the entire tournament are nice, we only really care about the players each person in the pool drafted. I had my buddies list their picks in a shared google sheet. Let’s read in the data and subset our data to only include players in the pool.
picks = read.delim(file = "picks.txt")
picks %>%
arrange(Picked.By, player) %>%
print_tbl()
| player | Picked.By |
|---|---|
| Alex Noren | Bray |
| Cameron Young | Bray |
| Jordan Spieth | Bray |
| Matt Kuchar | Bray |
| Tony Finau | Bray |
| Will Zalatoris | Bray |
| Billy Horschel | Bret |
| Cameron Smith | Bret |
| Hideki Matsuyama | Bret |
| Kevin Kisner | Bret |
| Marc Leishman | Bret |
| Talor Gooch | Bret |
| Jason Kokrak | Craig |
| Jon Rahm | Craig |
| Maverick McNealy | Craig |
| Rickie Fowler | Craig |
| Sam Burns | Craig |
| Tiger Woods | Craig |
| Adam Scott | Eric |
| Louis Oosthuizen | Eric |
| Matt Fitzpatrick | Eric |
| Scottie Scheffler | Eric |
| Sebastián Muñoz | Eric |
| Sergio Garcia | Eric |
| Dustin Johnson | Jacko |
| Harold Varner III | Jacko |
| Jason Day | Jacko |
| Seamus Power | Jacko |
| Tyrrell Hatton | Jacko |
| Xander Schauffele | Jacko |
| Aaron Wise | Jordan |
| Brooks Koepka | Jordan |
| Cameron Champ | Jordan |
| Corey Conners | Jordan |
| Justin Rose | Jordan |
| Justin Thomas | Jordan |
| Collin Morikawa | Mike |
| Davis Riley | Mike |
| Erik van Rooyen | Mike |
| Gary Woodland | Mike |
| Max Homa | Mike |
| Shane Lowry | Mike |
| K.H. Lee | Rocco |
| Mackenzie Hughes | Rocco |
| Patrick Cantlay | Rocco |
| Russell Henley | Rocco |
| Tommy Fleetwood | Rocco |
| Viktor Hovland | Rocco |
| Abraham Ancer | Trev |
| Daniel Berger | Trev |
| Joaquin Niemann | Trev |
| Robert MacIntyre | Trev |
| Rory McIlroy | Trev |
| Si Woo Kim | Trev |
score_data = score_data %>%
right_join(picks, by = "player")
For mid round updates, I like to set up a cronR job to call a build.R script which does the following.
I have found cronR to work extremely well allowing for automated updates every 15 minutes.
To send the data to a Google Sheet, I use the googlesheets4::sheet_write() function. Once the data is in the Google Sheet it is just a matter of coordinating the data into nice readable tables for the other participants to access.
If you’re feeling lucky, you can view the Google Sheet here. A fair warning that the sheet is likely broken by the time you visit the site due to the changing nature of the API.
Google Sheet Dashboard
First lets view the scores per team.
tbl_data = score_data %>%
arrange(hole_list) %>%
tidyr::pivot_wider(id_cols = c(player, Picked.By), names_from = hole_list, values_from = value, values_fill = NULL) %>%
mutate(score = rowSums(select(., -c("player", "Picked.By")))) %>%
group_by(Picked.By, player) %>%
arrange(score) %>%
ungroup
tbl_data %>%
arrange(Picked.By, score) %>%
select(-Picked.By) %>%
kbl() %>%
kable_paper("striped", full_width = T) %>%
pack_rows(index = table(tbl_data$Picked.By)) %>%
scroll_box(height = "500px")
| player | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | score |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Bray | |||||||||||||||||||
| Will Zalatoris | 4 | 4 | 3 | 4 | 5 | 4 | 3 | 3 | 3 | 3 | 3 | 3 | 4 | 3 | 4 | 4 | 4 | 5 | 66 |
| Matt Kuchar | 3 | 5 | 4 | 5 | 5 | 3 | 4 | 3 | 3 | 4 | 3 | 4 | 4 | 3 | 3 | 3 | 4 | 4 | 67 |
| Tony Finau | 4 | 3 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 69 |
| Alex Noren | 3 | 4 | 4 | 5 | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 70 |
| Cameron Young | 3 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 5 | 4 | 5 | 4 | 3 | 4 | 71 |
| Jordan Spieth | 4 | 4 | 4 | 4 | 5 | 4 | 3 | 3 | 4 | 4 | 3 | 3 | 5 | 3 | 5 | 5 | 4 | 5 | 72 |
| Bret | |||||||||||||||||||
| Cameron Smith | 3 | 3 | 3 | 4 | 4 | 3 | 3 | 4 | 4 | 4 | 2 | 6 | 4 | 3 | 4 | 5 | 5 | 4 | 68 |
| Talor Gooch | 3 | 4 | 4 | 4 | 4 | 3 | 5 | 3 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 5 | 4 | 69 |
| Hideki Matsuyama | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 3 | 5 | 4 | 4 | 72 |
| Marc Leishman | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 3 | 5 | 3 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 72 |
| Kevin Kisner | 3 | 5 | 4 | 4 | 5 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 3 | 5 | 4 | 4 | 72 |
| Billy Horschel | 4 | 5 | 4 | 6 | 5 | 4 | 4 | 3 | 4 | 4 | 3 | 5 | 5 | 4 | 4 | 3 | 4 | 4 | 75 |
| Craig | |||||||||||||||||||
| Sam Burns | 5 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 5 | 5 | 3 | 4 | 4 | 3 | 4 | 71 |
| Rickie Fowler | 5 | 4 | 4 | 4 | 5 | 3 | 3 | 3 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 4 | 3 | 4 | 71 |
| Jon Rahm | 5 | 3 | 4 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 3 | 4 | 6 | 3 | 4 | 4 | 5 | 4 | 73 |
| Maverick McNealy | 4 | 5 | 4 | 4 | 6 | 3 | 4 | 3 | 4 | 4 | 4 | 4 | 5 | 3 | 3 | 5 | 3 | 5 | 73 |
| Tiger Woods | 5 | 5 | 3 | 5 | 5 | 3 | 4 | 4 | 5 | 3 | 3 | 4 | 5 | 2 | 5 | 4 | 4 | 5 | 74 |
| Jason Kokrak | 3 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 5 | 4 | 4 | 4 | 5 | 4 | 4 | 4 | 5 | 4 | 74 |
| Eric | |||||||||||||||||||
| Matt Fitzpatrick | 3 | 3 | 5 | 4 | 5 | 2 | 5 | 3 | 4 | 4 | 2 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 68 |
| Scottie Scheffler | 4 | 4 | 4 | 4 | 3 | 3 | 4 | 3 | 5 | 3 | 3 | 5 | 6 | 3 | 3 | 5 | 5 | 4 | 71 |
| Louis Oosthuizen | 3 | 6 | 4 | 4 | 4 | 3 | 5 | 3 | 5 | 3 | 2 | 4 | 7 | 3 | 4 | 5 | 4 | 4 | 73 |
| Sergio Garcia | 4 | 6 | 3 | 3 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 5 | 5 | 73 |
| Sebastián Muñoz | 5 | 4 | 3 | 4 | 6 | 3 | 4 | 3 | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 74 |
| Adam Scott | 3 | 4 | 4 | 5 | 4 | 3 | 5 | 3 | 5 | 6 | 4 | 4 | 4 | 4 | 3 | 4 | 8 | 4 | 77 |
| Jacko | |||||||||||||||||||
| Xander Schauffele | 4 | 4 | 4 | 4 | 5 | 2 | 4 | 3 | 4 | 3 | 3 | 4 | 4 | 4 | 3 | 4 | 4 | 5 | 68 |
| Tyrrell Hatton | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 3 | 4 | 3 | 4 | 5 | 4 | 3 | 4 | 5 | 3 | 70 |
| Seamus Power | 4 | 4 | 4 | 4 | 6 | 3 | 4 | 3 | 4 | 5 | 3 | 3 | 5 | 4 | 3 | 4 | 4 | 4 | 71 |
| Jason Day | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 71 |
| Harold Varner III | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 4 | 5 | 4 | 3 | 4 | 4 | 2 | 4 | 4 | 4 | 5 | 71 |
| Dustin Johnson | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 3 | 4 | 5 | 5 | 3 | 5 | 4 | 4 | 4 | 73 |
| Jordan | |||||||||||||||||||
| Justin Thomas | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 4 | 5 | 3 | 3 | 4 | 5 | 3 | 3 | 4 | 4 | 3 | 67 |
| Aaron Wise | 5 | 4 | 4 | 3 | 4 | 3 | 3 | 3 | 5 | 4 | 4 | 5 | 4 | 3 | 3 | 4 | 4 | 4 | 69 |
| Justin Rose | 4 | 5 | 4 | 5 | 4 | 3 | 5 | 3 | 4 | 4 | 3 | 4 | 4 | 2 | 3 | 4 | 5 | 5 | 71 |
| Cameron Champ | 3 | 6 | 5 | 4 | 4 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 4 | 4 | 4 | 5 | 5 | 74 |
| Brooks Koepka | 5 | 4 | 5 | 5 | 5 | 3 | 4 | 4 | 5 | 4 | 3 | 4 | 5 | 4 | 3 | 4 | 4 | 4 | 75 |
| Corey Conners | 4 | 4 | 4 | 4 | 5 | 3 | 5 | 4 | 4 | 5 | 3 | 4 | 5 | 4 | 6 | 4 | 4 | 4 | 76 |
| Mike | |||||||||||||||||||
| Davis Riley | 5 | 4 | 4 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 3 | 3 | 4 | 3 | 3 | 4 | 4 | 5 | 68 |
| Max Homa | 4 | 4 | 4 | 5 | 6 | 3 | 4 | 2 | 4 | 4 | 3 | 3 | 4 | 2 | 4 | 4 | 4 | 6 | 70 |
| Gary Woodland | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 6 | 3 | 4 | 5 | 3 | 4 | 70 |
| Shane Lowry | 4 | 5 | 4 | 3 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 70 |
| Collin Morikawa | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 2 | 5 | 5 | 3 | 4 | 4 | 4 | 5 | 72 |
| Erik van Rooyen | 4 | 3 | 5 | 4 | 5 | 3 | 5 | 4 | 5 | 4 | 3 | 4 | 6 | 3 | 3 | 4 | 5 | 5 | 75 |
| Rocco | |||||||||||||||||||
| K.H. Lee | 3 | 5 | 4 | 4 | 4 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 3 | 69 |
| Viktor Hovland | 4 | 3 | 4 | 5 | 5 | 3 | 4 | 3 | 4 | 4 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 4 | 70 |
| Russell Henley | 3 | 4 | 4 | 4 | 5 | 3 | 3 | 3 | 4 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 70 |
| Tommy Fleetwood | 4 | 4 | 5 | 4 | 5 | 3 | 4 | 2 | 4 | 3 | 4 | 4 | 5 | 3 | 4 | 5 | 4 | 4 | 71 |
| Patrick Cantlay | 4 | 5 | 3 | 5 | 6 | 3 | 4 | 4 | 4 | 4 | 3 | 5 | 6 | 3 | 3 | 4 | 5 | 5 | 76 |
| Mackenzie Hughes | 4 | 6 | 4 | 4 | 6 | 3 | 4 | 4 | 4 | 4 | 3 | 4 | 5 | 3 | 5 | 4 | 5 | 5 | 77 |
| Trev | |||||||||||||||||||
| Rory McIlroy | 4 | 3 | 4 | 4 | 4 | 4 | 4 | 4 | 3 | 4 | 3 | 3 | 4 | 2 | 3 | 4 | 4 | 4 | 65 |
| Abraham Ancer | 4 | 5 | 3 | 4 | 4 | 3 | 3 | 3 | 4 | 3 | 4 | 4 | 5 | 3 | 3 | 5 | 3 | 4 | 67 |
| Joaquin Niemann | 4 | 5 | 4 | 4 | 5 | 3 | 3 | 4 | 3 | 3 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 68 |
| Robert MacIntyre | 5 | 4 | 4 | 4 | 5 | 3 | 4 | 4 | 4 | 3 | 3 | 4 | 4 | 3 | 4 | 4 | 4 | 4 | 70 |
| Si Woo Kim | 4 | 4 | 4 | 3 | 4 | 3 | 5 | 4 | 4 | 4 | 3 | 5 | 5 | 3 | 3 | 5 | 4 | 4 | 71 |
| Daniel Berger | 4 | 5 | 4 | 4 | 5 | 3 | 4 | 3 | 4 | 5 | 3 | 4 | 5 | 3 | 4 | 4 | 4 | 5 | 73 |
And team totals - recall we take the four lowest scores per team.
score_data %>%
group_by(Picked.By, player) %>%
summarise(score = sum(value)) %>%
ungroup(player) %>%
arrange(Picked.By, score) %>%
mutate(order = 1:6) %>%
filter(order %in% 1:4) %>%
summarise(team_score = sum(score) - 70*4) %>%
arrange(team_score) %>%
kbl(col.names = c("Team", "Total Score")) %>%
kable_paper("striped", full_width = FALSE)
| Team | Total Score |
|---|---|
| Trev | -10 |
| Bray | -8 |
| Mike | -2 |
| Jacko | 0 |
| Rocco | 0 |
| Bret | 1 |
| Jordan | 1 |
| Eric | 5 |
| Craig | 8 |
Now for the fun part. Determining which players are eliminated in our retroactive horse race side bet.
# function to determine largest score per hole.
# | Hole | Scores | Label (name if highest score) |
# store horses in a stack
# remove from stack if eliminated
horses = unique(score_data$player)
holes = sort(unique(score_data$hole_list))
race = list()
for(hole in holes) {
tmp = score_data[score_data$hole_list == hole, ]
tmp = tmp[tmp$player %in% horses, ] # remove players from hole whove lost
if(nrow(tmp) == 0){
break
}
max_score = max(tmp$value)
eliminated = tmp[tmp$value == max_score, ]$player # get players who are eliminated
horses = horses[!horses %in% eliminated]
tmp$max_score = max_score
tmp$eliminated = paste(eliminated, collapse = ", ")
out = tmp
# out = data.frame(hole = hole,
# max_score = max_score,
# n = length(eliminated),
# eliminated = paste(eliminated, collapse = ", "))
race[[length(race) + 1]] = out
}
race = race %>% bind_rows()
The below plot lets you see which players were eliminated, as well as the scores of the players who remained in the horse race.
p = race %>%
mutate(names = case_when(value == max_score ~ stringr::str_wrap(string = race$eliminated,
width = 20,
indent = 1,
exdent = 0),
TRUE ~ player)) %>%
ggplot(aes(x = hole_list, y = max_score, label = names)) +
geom_jitter(aes(x = hole_list, y = value), height = 0, width = 0.1, alpha = 0.2, color = "lightblue") +
geom_point(color = "darkblue", size = 2) +
scale_x_continuous(breaks = 0:12) +
ylim(c(1, 7)) +
labs(title = "Horse Race - Round 1 Outcomes",
y = "",
x = "")
plotly::ggplotly(p, tooltip = c("names"))
race %>%
select(hole_list, max_score, eliminated) %>%
group_by(hole_list) %>%
slice(1L) %>%
kbl(col.names = c("Hole", "Max Score", "Eliminated Players")) %>%
kable_paper("striped", full_width = T)
| Hole | Max Score | Eliminated Players |
|---|---|---|
| 1 | 5 | Davis Riley, Aaron Wise, Robert MacIntyre, Sam Burns, Rickie Fowler, Jon Rahm, Tiger Woods, Sebastián Muñoz, Brooks Koepka |
| 2 | 6 | Louis Oosthuizen, Sergio Garcia, Cameron Champ, Mackenzie Hughes |
| 3 | 5 | Matt Fitzpatrick, Gary Woodland, Tommy Fleetwood, Erik van Rooyen |
| 4 | 6 | Billy Horschel |
| 5 | 6 | Max Homa, Seamus Power, Maverick McNealy, Patrick Cantlay |
| 6 | 4 | Rory McIlroy, Will Zalatoris, Harold Varner III, Jordan Spieth, Kevin Kisner |
| 7 | 5 | Talor Gooch, Justin Rose, Si Woo Kim, Jason Day, Hideki Matsuyama, Corey Conners, Adam Scott |
| 8 | 4 | Justin Thomas, Cameron Smith, Joaquin Niemann, Alex Noren, Tyrrell Hatton, Cameron Young, Marc Leishman |
| 9 | 5 | Scottie Scheffler, Jason Kokrak |
| 10 | 5 | Tony Finau, K.H. Lee, Shane Lowry, Collin Morikawa, Daniel Berger |
| 11 | 4 | Abraham Ancer, Russell Henley, Dustin Johnson |
| 12 | 4 | Matt Kuchar, Xander Schauffele, Viktor Hovland |
Skins are awarded when a single player makes the lowest score on a given hole.
score_data %>%
group_by(hole_list) %>%
mutate(min_score = min(value)) %>%
filter(value == min_score) %>%
mutate(n = n()) %>%
filter(n == 1) %>%
select(-c(n, min_score)) %>%
kbl(col.names = c("Player", "Hole", "Score", "Team")) %>%
kable_paper("striped", full_width = F)
| Player | Hole | Score | Team |
|---|---|---|---|
| Scottie Scheffler | 5 | 3 | Eric |
Eric won a skin for Scott Scheffler’s eagle on the fifth hole. See the clip on Instagram here.